// pages/usercenter/index.js
// import Dialog from '@vant/weapp/dialog/dialog';
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: app.globalData.userInfo,
    bgimg: '../../images/usercenter/usercenter-bg.jpg',

    copyrightBottom: {
      bottom: '0rpx',
      position: 'fixed',
      bottom1: '40rpx',
    },
    isShowPop: false,
    userInfoTemp: null,
    isShow: false,
    disShowPop: false,
    disShowUserPop: false,
    // AuthorizedLogin: '用户授权',
    UserPhone: '一键登录',
    user: null,
    checked: false,
    params: null,
    mobile: null,
    verify_submit_text: '获取验证码',
    verify_loading: false,
    verify_disabled: false,
    form_submit_loading: false,
    verify_time_total: 60,
    temp_clear_time: null,
    //判断小程序的API，回调，参数，组件等是否在当前版本可用。
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    AuthorizedLogin: '用户授权',
    UserPhone: '手机号授权',
    isWindows: app.globalData.isWindows,
    lbtop: app.globalData.lbtop + 'rpx',
    tittop: app.globalData.tittop + 'rpx',
  },
  onChange(event) {
    this.setData({
      checked: event.detail,
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log("kkkkkk首页")
    console.log(wx.getStorageSync('get_gift_coupons'))
    this.setData({
      params: options,
      user: app.get_user_cache_info() || null,
      // isHide: true
    });
    // 标题设置
    wx.setNavigationBarTitle({
      title: (this.data.user == null) ? '授权用户信息' : '授权手机绑定'
    });
    this.home();
  },
  showDialog() {
    this.setData({
      isShowPop: true
    })
  },

  home() {
    var user = wx.getStorageSync("cache_shop_user_info_key") || null;
    if (user != null) {
      if (user.mobile != '') {
        this.setData({
          userInfo: user
        });
      }
    } else {
      if (app.globalData.userInfo != null) {
        this.setData({
          userInfo: app.globalData.userInfo
        });
      }
    }
    if (user != null) {
      wx.request({
        url: app.get_request_url("member", "user"),
        method: "POST",
        data: {
          'mobile': user.mobile,
        },
        dataType: "json",
        header: {
          'content-type': 'application/x-www-form-urlencoded'
        },
        success: res => {
          wx.stopPullDownRefresh();
          if (res.data.code == 0) {
            var data = res.data.data;
            this.setData({
              userInfoTemp: data,
            });
            console.log("获取会员信息")
            console.log(data)
            wx.setStorageSync('cache_user_info', data);
          }
        },
        fail: () => {
          wx.stopPullDownRefresh();
          app.showToast("服务器请求出错");
        }
      });
    }
    // var userPoint = wx.getStorageSync("cache_user_info") || null;
  },




  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.home();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.home();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  toViewVip(e) {

    if (this.data.userInfoTemp == null) {
      this.setData({
        isShowPop: true
      });
    } else {
      if (this.data.userInfoTemp == '没有找到会员') {
        this.setData({
          isShowPop: true
        });
      } else {
        wx.navigateTo({
          url: '/pages/usercenter/memberinfo/index?memInfo=' + encodeURIComponent(JSON.stringify(this.data.userInfoTemp)),
        });
      }

    }
  },
  onClose() {
    this.setData({
      isShowPop: false // 必须在此处将 show 设置为 false 来关闭弹出层
    });
  },
  regOrUpdateVip(e) {
    console.log(e);
    console.log("注册/修改会员");
    if (this.data.userInfo == null) {
      this.setData({
        isShowPop: true
      });
    } else {
      wx.navigateTo({
        url: '/pages/usercenter/updateMember/index?memInfo=' + encodeURIComponent(JSON.stringify(this.data.userInfoTemp)),
      });
    }

  },
  exitHmb(e) {
    console.log(e);
    console.log("exitHmb退出小程序");
    try {
      wx.clearStorageSync();
      app.globalData.userInfo = null;
      this.setData({
        userInfo: null,
        user: null,
        mobile: null,
      });
      app.mobile = null;
    } catch (e) {}

    wx.reLaunch({
      url: '/pages/index/index?op=exithmb'
    });
  },

  modalCancel(e) {
    console.log('进入modalCancel');
    this.setData({
      isShowPop: false
    });
  },
  modalConfirm(e) {
    console.log('进入modalConfirm');
    this.setData({
      //   isShowPop: false,
      checked: true
    });
    // this.get_user_phone_event()


    // this.toLogin();
    // wx.showModal({
    //   title: '温馨提示',
    //   content: '授权用户信息',
    //   confirmText: '确认',
    //   cancelText: '暂不',
    //   success: (result) => {
    //     // if (result.confirm) {
    //     //   wx.navigateTo({
    //     //     url: "/pages/login/login"
    //     //   });
    //     // }
    //   }
    // });
  },
  toLinkYsZy(e) {
    wx.openPrivacyContract({
      success: res => {
        console.log('openPrivacyContract success')
      },
      fail: res => {
        console.error('openPrivacyContract fail', res)
      }
    })
  },

  /**
   * 登录授权事件
   */
  checkedPoint(e) {
    if (this.data.checked === false) {
      this.setData({
        checked: true,
        disShowPop: false,
      });
      this.get_user_info_event();
    }
  },
  /**
   * 登录授权事件
   */
  get_user_phone_event(e) {
    if (this.data.checked === false) {
      this.setData({
        disShowPop: true
      })
    } else if (this.data.checked === true) {
      this.user_auth_phone(e.detail);
    }
    // this.user_auth_phone(e.detail);
  },
  /**
   * 登录授权事件
   */
  get_user_info_event(e) {
    this.setData({
      checked: true,
      disShowPop: false,
    });
    this.user_auth_code(e.detail);
  },
  get_user_info_event(e) {
    //  this.setData({
    //     disShowPop: false,
    //     checked: true
    //   });
    if (this.data.checked === false) {
      this.setData({
        disShowPop: true,
      });

    } else if (this.data.checked === true) {
      this.user_auth_code(e.detail);
      // this.user_auth_phone(e.detail);
    }

    //console.log("get_user_info_event");

  },

  cance_btn() {
    this.setData({
      disShowPop: false
    })
  },
  /**
   * 用户授权
   * auth_data  授权数据
   */
  user_auth_code(auth_data) {
    //console.log("user_auth_code");
    if ((auth_data.encryptedData || null) != null && (auth_data.iv || null) != null) {
      console.log("aaaa")
      app.user_auth_login(this, 'user_auth_back_event', auth_data);

    } else {
      app.showToast("授权失败");
    }
  },

  /**
   * 授权返回事件
   */
  user_auth_back_event() {
    //console.log("user_auth_back_event");
    var user = app.get_user_cache_info();
    this.setData({
      user: user || null
    });
    // wx.showToast({
    //   icon: "none",
    //   title: '请继续点击获取手机号',
    // });
    //  this.setData({
    //     disShowUserPop: true,
    // })
    // 2. 获取用户信息成功后，自动触发获取手机号的隐藏按钮
    const phoneButton = this.selectComponent("#hiddenPhoneButton");
    console.log(phoneButton)
    console.log(phoneButton)
    if (phoneButton) {
      phoneButton.click(); // 此举会触发手机号授权弹窗
    } else {
      // this.setData({
      //     disShowUserPop: true,
      // })
      // 备用方案：如果无法直接操作组件，可以提示用户进行下一步操作
      //    wx.showModal({
      //      content: "请授权手机号以完成登录",
      //      success(res) {
      //        if (res.confirm) {
      //          // 这里可以引导用户点击一个实际显示的手机号授权按钮
      //        }
      //      },
      //    });
    }

    if (app.user_is_need_login(user) == false) {
      //  wx.navigateBack();
    }
  },




  /**
   * 用户授权
   * auth_data  授权数据
   */
  user_auth_phone(auth_data) {
    console.log(this.data.checked)
    console.log("user_auth_phone")
    if ((auth_data.encryptedData || null) != null && (auth_data.iv || null) != null) {
      app.user_auth_login_getPhone(this, 'user_auth_phone_back_event', auth_data);
      console.log("222")
    } else {
      app.showToast("手机授权失败");
    }
  },

  /**
   * 授权返回事件
   */
  user_auth_phone_back_event() {
    console.log("user_auth_phone_back_event");
    var user = app.get_user_cache_info();
    // var rcode = wx.getStorageSync("index_rcode");
    var rcode = app.globalData.rcode;
    console.log('rcode')
    console.log(rcode)
    if (rcode == null || rcode == '') {
      rcode = '';
    }
    this.setData({
      user: user || null,
      mobile: user.mobile,
      isShowPop: false
    });
    app.mobile = user.mobile;
    // if (app.user_mobile_check(user) == false) {
    // wx.navigateBack();
    // wx.navigateBack({
    //   success: res => {
    //     let pages = getCurrentPages();
    //     let prevPage = pages[pages.length - 1];      // 上一个页面的对象
    //     // 当然, 也可以通过setData设置那个页面的其他数据
    //     prevPage.onLoad();    // 触发上一个页面的onLoad生命周期函数
    //   }
    // });
    // }
    wx.request({
      url: app.get_request_url("savemember", "user"),
      method: "POST",
      data: {
        'memberName': '',
        'memberSex': '',
        'mobile': user.mobile,
        'address': '',
        'memberId': '',
        'rcode': rcode,
      },
      dataType: "json",
      header: {
        'content-type': 'application/x-www-form-urlencoded'
      },
      success: res => {
        var data = res.data.data;
        app.globalData.userInfo = data;
        wx.setStorageSync('cache_user_info', data);
        wx.showToast({
          icon: "none",
          title: '登录成功！',
        });
        wx.reLaunch({
          url: "/pages/index/index"
        });
        // wx.showModal({
        //   title: '提示',
        //   content: '注册/登录成功！',
        //   showCancel: false,
        //   success: function (res) {

        //     if (res.confirm) {
        //       // wx.navigateBack({
        //       //   success: res => {
        //       //     let pages = getCurrentPages();
        //       //     let prevPage = pages[pages.length - 1];      // 上一个页面的对象
        //       //     // 当然, 也可以通过setData设置那个页面的其他数据
        //       //     prevPage.onLoad();    // 触发上一个页面的onLoad生命周期函数
        //       //   }
        //       // });
        //       wx.reLaunch({
        //         url: "/pages/index/index"
        //       });
        //     }
        //   }
        // });
      },
      fail: () => {
        app.showToast("服务器请求出错");
      },
    });
  },

  get_user_phone_cancel() {

    // wx.navigateBack();
    try {
      wx.clearStorageSync();
    } catch (e) {}
    app.globalData.userInfo = null;
    this.setData({
      userInfo: null,
      isShowPop: false,
      user: null,
      checked: false
    });
    // wx.reLaunch({
    //   url: '/pages/index/index?op=exithmb'
    // });
  }

})